package manager;

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

import InterfazRemota.InterfazRemota;
import NegocioVO.ComandaVO;
import NegocioVO.MesaVO;

public class AdministradorComanda {
	private InterfazRemota ir;
	private static AdministradorComanda instancia;
	
	public static AdministradorComanda getInstancia()
	{
		if(instancia==null)
			instancia = new AdministradorComanda();
		return instancia;
	}
	
	private AdministradorComanda()
	{
		try {
			ir = (InterfazRemota) Naming.lookup("TPO_Restaurante");
			
			
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (RemoteException e) {
			e.printStackTrace();
		} catch (NotBoundException e) {
			e.printStackTrace();
		}
	}
	
	public  List<ComandaVO> getComandasAbiertas (String LocalId) {
		
		int j = 0;
		j = Integer.valueOf(LocalId);
		try {
			return ir.listarComandasAbiertas(j);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	public void cerrarComandas(String[] cerrados)
	{
		List<ComandaVO> comandas = new ArrayList<ComandaVO>();
		int j = 0;
		for (int i = 0; cerrados.length - 1 >= i; i++)
		{
			
			ComandaVO comanda = new ComandaVO();
			j = Integer.valueOf(cerrados[i]);
			 comanda.setIdComanda(j);
			 comandas.add(comanda);
		}

			try {
				System.out.println("vamos a cerrar la comanda");
				ir.CerrarComandas(comandas);
			} catch (RemoteException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
	

}
